Channeling messaging communications in a selected group-based communication interface

ABSTRACT

Provided is a group-based communication interface configured to allow users of the interface to communicate within group-based communication channels and across group-based communication channels to provide relevant information to other users efficiently and effectively. Group-based messaging communications across the plurality of group-based communication channels can be channeled to specific receiver channels providing relevant information to users of the group-based communication interface thereby increasing the efficiency and effectiveness of group-based messaging communications and the lifetime of the system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.15/730,146, filed Oct. 11, 2017, which claims priority to and thebenefit of U.S. Provisional Patent Application No. 62/535,082, entitled“Channeling Messaging Communications In A Selected Group-BasedCommunication Interface” and filed on Jul. 20, 2017, the entire contentsof which are hereby incorporated by reference.

BACKGROUND

Various messaging systems are available that allow users to havecontinuous conversations electronically between each other. In suchsystems, one or more users may send messages back and forth discussingvarious topics. In certain systems, the string of messages may be savedand later accessible to the participants of the conversation. Applicanthas identified a number of deficiencies and problems associated withconventional messaging systems. Through applied effort, ingenuity, andinnovation, many of these identified problems have been solved bydeveloping solutions that are included in embodiments of the presentinvention, many examples of which are described in detail herein.

BRIEF SUMMARY

In general, embodiments of the present invention provided herein includemethods, apparatus, and computer program products for facilitating agroup-based communication interface.

In some example embodiments, a method may be provided including updatinga selected group-based communication interface from a plurality ofgroup-based communication interfaces, wherein the selected group-basedcommunication interface may include a plurality of group-basedcommunication channels. The method may further include receiving achanneling association that is configured to establish a connectionbetween a graphical identifier and a receiver channel of the pluralityof group-based communication channels; receiving group-based messagingcommunications to one or more of the plurality of group-basedcommunication channels other than the receiver channel; receiving acorrelation indication associating the graphical identifier with aselected messaging communication of the group-based messagingcommunications; in response to receiving the correlation indication,reproducing the selected messaging communication to create a channeledcopy within the receiver channel of the plurality of group-basedcommunication channels; and displaying the channeled copy with thereceiver channel via the group-based communication interface.

In some embodiments, the group-based messaging communications mayinclude a text, image, video, or combination thereof. In someembodiments, the graphical identifier may be animated to illustratemovement between a first state and a second state when displayed withinthe selected group-based communication interface. Further, the receiverchannel may be configured to be viewable to each user of the selectedgroup-based communication interface, and in some embodiments, each ofthe plurality of group-based communication channels may be configured todisplay a common set of group-based messaging communications to eachuser of the respective group-based communication channel.

In some embodiments of the method, prior to receiving the channelingassociation that is configured to establish the connection between thegraphical identifier and the receiver channel of the plurality ofgroup-based communication channels, receiving the correlation indicationassociating the graphical identifier with the selected messagingcommunication of the group-based messaging communications may not elicitthe response to reproduce the selected messaging communication to createthe channeled copy within the receiver channel of the plurality ofgroup-based communication channels. Further, in some embodiments, thechanneling association that is configured to establish the connectionbetween the graphical identifier and the receiver channel of theplurality of group-based communication channels may not be configured toestablish a connection between the graphical identifier and any of theplurality of group-based communication channels of the plurality ofgroup-based communication interfaces other than the receiver channel ofthe selected group-based communication interface.

Some embodiment of the present method include receiving a secondchanneling association that is configured to establish a connectionbetween a second graphical identifier and a second receiver channel ofthe plurality of group-based communication channels; receiving a secondcorrelation indication associating the second graphical identifier withthe selected messaging communication of the group-based messagingcommunications; in response to receiving the second correlationindication, reproducing the selected messaging communication to create asecond channeled copy within the second receiver channel of theplurality of group-based communication channels; and displaying thesecond channeled copy of the selected messaging communication with thesecond receiver channel via the group-based communication interface.

Further, in some embodiments, reproducing the selected messagingcommunication to create the channeled copy within the receiver channelof the plurality of group-based communication channels includesanalyzing the receiver channel of the plurality of group-basedcommunication channels for the channeled copy of the selected messagingcommunication within the receiver channel of the plurality ofgroup-based communication channels and reproducing the selectedmessaging communication to create the channeled copy within the receiverchannel of the plurality of group-based communication channels if thechanneled copy was not previously present in the receiver channel of theplurality of group-based communication channels.

In some embodiments, the method includes receiving a channeling requestthat is configured to move between one or more of the plurality ofgroup-based communication channels after displaying the channeled copywith the receiver channel via the group-based communication interface,and displaying one or more of the plurality of group-based communicationchannels via the group-based communication interface instead ofdisplaying the receiver channel.

Further, in some embodiments, the method includes receiving a pluralityof group-based messaging communications to one or more of the pluralityof group-based communication channels other than the receiver channel;and receiving a plurality of correlation indications associating thegraphical identifier with a plurality of selected messagingcommunications of the group-based messaging communications; in responseto receiving the plurality of correlation indications, reproducing eachof the plurality of selected messaging communications to create aplurality of channeled copies within the receiver channel of theplurality of group-based communication channels; and displaying theplurality of channeled copies with the receiver channel via thegroup-based communication interface.

In some embodiments, the method further includes receiving a pluralityof channeling associations that are configured to establish a pluralityof connections, each of the plurality of connections may include atleast one graphical identifier and at least one receiver channel of theplurality of group-based communication channels; receiving group-basedmessaging communications to one or more of the plurality of group-basedcommunication channels other than the receiver channels of the pluralityof channeling associations; receiving one or more correlationindications associating at least one of the graphical identifiers withat least one selected messaging communication of the group-basedmessaging communications; in response to receiving the one or morecorrelation indications, reproducing the at least one selected messagingcommunication associated with the at least one graphical identifier tocreate at least one channeled copy within the at least one receiverchannel of the plurality of group-based communication channels; anddisplaying the at least one channeled copy with the at least onereceiver channel via the group-based communication interface.

Another embodiment of the present invention provided is an apparatusincluding at least a processor, and a memory associated with theprocessor having computer coded instructions therein, with the computerinstructions configured to, when executed by the processor, update aselected group-based communication interface from a plurality ofgroup-based communication interfaces, wherein the selected group-basedcommunication interface may include a plurality of group-basedcommunication channels, by causing the apparatus to: receive achanneling association that is configured to establish a connectionbetween a graphical identifier and a receiver channel of the pluralityof group-based communication channels; receive group-based messagingcommunications to one or more of the plurality of group-basedcommunication channels other than the receiver channel; receive acorrelation indication associating the graphical identifier with aselected messaging communication of the group-based messagingcommunications; in response to receiving the correlation indication,reproduce the selected messaging communication to create a channeledcopy within the receiver channel of the plurality of group-basedcommunication channels; and display the channeled copy with the receiverchannel via the group-based communication interface. In some embodimentsof the apparatus, the group-based messaging communications may include atext, image, video, or combination thereof, and the graphical identifiermay be animated to illustrate movement between a first state and asecond state when displayed within the selected group-basedcommunication interface. The receiver channel may be configured to beviewable to each user of the selected group-based communicationinterface, and each of the plurality of group-based communicationchannels may be configured to display a common set of group-basedmessaging communications to each user of the respective group-basedcommunication channel.

Further, in some embodiments of the apparatus, the computer instructionsmay be configured to, when executed by the processor, cause theapparatus to prior to receiving the channeling association that isconfigured to establish the connection between the graphical identifierand the receiver channel of the plurality of group-based communicationchannels, receive the correlation indication associating the graphicalidentifier with the selected messaging communication of the group-basedmessaging communications and not reproduce the selected messagingcommunication to create the channeled copy within the receiver channelof the plurality of group-based communication channels in response toreceiving the correlation indication.

In some embodiments of the apparatus, the channeling association that isconfigured to establish the connection between the graphical identifierand the receiver channel of the plurality of group-based communicationchannels may not be configured to establish a connection between thegraphical identifier and any of the plurality of group-basedcommunication channels of the plurality of group-based communicationinterfaces other than the receiver channel of the selected group-basedcommunication interface.

In some embodiments, the computer instructions are configured to, whenexecuted by the processor, further cause the apparatus to: receive asecond channeling association that is configured to establish aconnection between a second graphical identifier and a second receiverchannel of the plurality of group-based communication channels; receivea second correlation indication associating the second graphicalidentifier with a second selected messaging communication of thegroup-based messaging communications; in response to receiving thesecond correlation indication, reproduce the selected messagingcommunication to create a second channeled copy within the secondreceiver channel of the plurality of group-based communication channels;and display the second channeled copy of the second selected messagingcommunication with the second receiver channel via the group-basedcommunication interface.

In some embodiments, the computer instructions may be configured to,when executed by the processor, further cause the apparatus to analyzethe receiver channel of the plurality of group-based communicationchannels for the channeled copy of the selected messaging communicationwithin the receiver channel of the plurality of group-basedcommunication channels and reproduce the selected messagingcommunication to create the channeled copy within the receiver channelof the plurality of group-based communication channels if the channeledcopy was not previously present in the receiver channel of the pluralityof group-based communication channels when the apparatus is caused toreproduce the selected messaging communication to create the channeledcopy within the receiver channel of the plurality of group-basedcommunication channels.

Further, in some embodiments, the computer instructions may beconfigured to, when executed by the processor, further cause theapparatus to receive a channeling request that is configured to movebetween one or more of the plurality of group-based communicationchannels after displaying the channeled copy with the receiver channelvia the group-based communication interface, and display one or more ofthe plurality of group-based communication channels via the group-basedcommunication interface instead of displaying the receiver channel.

In some embodiments, the computer instructions may be configured to,when executed by the processor, further cause the apparatus to: receivea plurality of group-based messaging communications to one or more ofthe plurality of group-based communication channels other than thereceiver channel; and receive a plurality of correlation indicationsassociating the graphical identifier with a plurality of selectedmessaging communications of the group-based messaging communications; inresponse to receiving the plurality of correlation indications,reproduce each of the plurality of selected messaging communications tocreate a plurality of channeled copies within the receiver channel ofthe plurality of group-based communication channels; and display theplurality of channeled copies with the receiver channel via thegroup-based communication interface.

Further, in some embodiments, the computer instructions may beconfigured to, when executed by the processor, further cause theapparatus to: receive a plurality of channeling associations that areconfigured to establish a plurality of connections, each of theplurality of connections may include at least one graphical identifierand at least one receiver channel of the plurality of group-basedcommunication channels; receive group-based messaging communications toone or more of the plurality of group-based communication channels otherthan the receiver channels of the plurality of channeling associations;receive one or more correlation indications associating at least one ofthe graphical identifiers with at least one selected messagingcommunication of the group-based messaging communications; in responseto receiving the one or more correlation indications, reproduce the atleast one selected messaging communication associated with the at leastone graphical identifier to create at least one channeled copy withinthe at least one receiver channel of the plurality of group-basedcommunication channels; and display the at least one channeled copy withthe at least one receiver channel via the group-based communicationinterface.

In yet another example embodiment, a computer program product may beprovided that may include a non-transitory computer readable mediumhaving computer program instructions stored therein, said instructionswhen executed by a processor update a selected group-based communicationinterface from a plurality of group-based communication interfaces,wherein the selected group-based communication interface may include aplurality of group-based communication channels, by causing the computerprogram product to: receive a channeling association that is configuredto establish a connection between a graphical identifier and a receiverchannel of the plurality of group-based communication channels; receivegroup-based messaging communications to one or more of the plurality ofgroup-based communication channels other than the receiver channel;receive a correlation indication associating the graphical identifierwith a selected messaging communication of the group-based messagingcommunications; in response to receiving the correlation indication,reproduce the selected messaging communication to create a channeledcopy within the receiver channel of the plurality of group-basedcommunication channels; and display the channeled copy with the receiverchannel via the group-based communication interface.

In some embodiments, the group-based messaging communications mayinclude a text, image, video, or combination thereof, and the graphicalidentifier may be animated to illustrate movement between a first stateand a second state when displayed within the selected group-basedcommunication interface. The receiver channel may be configured to beviewable to each user of the selected group-based communicationinterface, and each of the plurality of group-based communicationchannels are configured to display a common set of group-based messagingcommunications to each user of the respective group-based communicationchannel.

In some embodiments, the computer instructions may be configured to,when executed by the processor, further cause the computer programproduct to prior to receiving the channeling association that isconfigured to establish the connection between the graphical identifierand the receiver channel of the plurality of group-based communicationchannels, receive the correlation indication associating the graphicalidentifier with the selected messaging communication of the group-basedmessaging communications and not reproduce the selected messagingcommunication to create the channeled copy within the receiver channelof the plurality of group-based communication channels in response toreceiving the correlation indication.

Further, in some embodiments, the channeling association that isconfigured to establish the connection between the graphical identifierand the receiver channel of the plurality of group-based communicationchannels may not be configured to establish a connection between thegraphical identifier and any of the plurality of group-basedcommunication channels of the plurality of group-based communicationinterfaces other than the receiver channel of the selected group-basedcommunication interface.

In some embodiments, the computer instructions are configured to, whenexecuted by the processor, further cause the computer program productto: receive a second channeling association that is configured toestablish a connection between a second graphical identifier and asecond receiver channel of the plurality of group-based communicationchannels; receive a second correlation indication associating the secondgraphical identifier with a second selected messaging communication ofthe group-based messaging communications; in response to receiving thesecond correlation indication, reproduce the selected messagingcommunication to create a second channeled copy within the secondreceiver channel of the plurality of group-based communication channels;and display the second channeled copy of the second selected messagingcommunication with the second receiver channel via the group-basedcommunication interface.

Further, in some embodiments, the computer instructions may beconfigured to, when executed by the processor, further cause thecomputer program product to analyze the receiver channel of theplurality of group-based communication channels for the channeled copyof the selected messaging communication within the receiver channel ofthe plurality of group-based communication channels and reproduce theselected messaging communication to create the channeled copy within thereceiver channel of the plurality of group-based communication channelsif the channeled copy was not previously present in the receiver channelof the plurality of group-based communication channels when theapparatus is caused to reproduce the selected messaging communication tocreate the channeled copy within the receiver channel of the pluralityof group-based communication channels.

In some embodiments, the computer instructions may be configured to,when executed by the processor, further cause the computer programproduct to receive a channeling request that is configured to movebetween one or more of the plurality of group-based communicationchannels after displaying the channeled copy with the receiver channelvia the group-based communication interface, and display one or more ofthe plurality of group-based communication channels via the group-basedcommunication interface instead of displaying the receiver channel.

In some embodiments, the computer instructions may be configured to,when executed by the processor, further cause the computer programproduct to: receive a plurality of group-based messaging communicationsto one or more of the plurality of group-based communication channelsother than the receiver channel; and receive a plurality of correlationindications associating the graphical identifier with a plurality ofselected messaging communications of the group-based messagingcommunications; in response to receiving the plurality of correlationindications, reproduce each of the plurality of selected messagingcommunications to create a plurality of channeled copies within thereceiver channel of the plurality of group-based communication channels;and display the plurality of channeled copies with the receiver channelvia the group-based communication interface.

Further, in some embodiments, the computer instructions are configuredto, when executed by the processor, further cause the computer programproduct to: receive a plurality of channeling associations that areconfigured to establish a plurality of connections, each of theplurality of connections may include at least one graphical identifierand at least one receiver channel of the plurality of group-basedcommunication channels; receive group-based messaging communications toone or more of the plurality of group-based communication channels otherthan the receiver channels of the plurality of channeling associations;receive one or more correlation indications associating at least one ofthe graphical identifiers with at least one selected messagingcommunication of the group-based messaging communications; in responseto receiving the one or more correlation indications, reproduce the atleast one selected messaging communication associated with the at leastone graphical identifier to create at least one channeled copy withinthe at least one receiver channel of the plurality of group-basedcommunication channels; and display the at least one channeled copy withthe at least one receiver channel via the group-based communicationinterface.

BRIEF DESCRIPTION OF THE FIGURES

Reference will now be made to the accompanying drawings, which are notnecessarily drawn to scale, and wherein:

FIG. 1 illustrates an example system in accordance with some embodimentsdiscussed herein;

FIG. 2 illustrates a schematic block diagram of circuitry that can beincluded in a computing device in accordance with some embodimentsdiscussed herein;

FIG. 3 illustrates an example messaging communications database inaccordance with some embodiments discussed herein;

FIG. 4 illustrates an example correlation indication system inaccordance with some embodiments discussed herein;

FIG. 5 illustrates an example group-based communication interface havinggroup-based messaging communications in a group-based communicationchannel other than a receiver channel in accordance with someembodiments discussed herein;

FIG. 6 illustrates an example group-based communication interface havingchanneled copies of group-based messaging communications in a receiverchannel in accordance with some embodiments discussed herein;

FIG. 7 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein;

FIG. 8 illustrates an example group-based communication interface havingchanneled copies of group-based messaging communications in a receiverchannel in accordance with some embodiments discussed herein;

FIG. 9 illustrates an example group-based communication interface havinggroup-based messaging communications in a group-based communicationchannel other than a receiver channel in accordance with someembodiments discussed herein;

FIG. 10 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein;

FIG. 11 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein;

FIG. 12 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein;

FIG. 13 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein; and

FIG. 14 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein.

DETAILED DESCRIPTION

Some embodiments of the present invention will now be described morefully hereinafter with reference to the accompanying drawings, in whichsome, but not all embodiments of the inventions are shown. Indeed, theinvention may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure will satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

Terms

As used herein, the terms “data,” “content,” “digital content,” “digitalcontent object,” “information,” and similar terms may be usedinterchangeably to refer to data capable of being transmitted, received,and/or stored in accordance with embodiments of the present invention.Thus, use of any such terms should not be taken to limit the spirit andscope of embodiments of the present invention. Further, where acomputing device is described herein to receive data from anothercomputing device, it will be appreciated that the data may be receiveddirectly from another computing device or may be received indirectly viaone or more intermediary computing devices, such as, for example, one ormore servers, relays, routers, network access points, base stations,hosts, and/or the like, sometimes referred to herein as a “network.”Similarly, where a computing device is described herein to send data toanother computing device, it will be appreciated that the data may besent directly to another computing device or may be sent indirectly viaone or more intermediary computing devices, such as, for example, one ormore servers, relays, routers, network access points, base stations,hosts, and/or the like.

The term “client device” refers to computer hardware and/or softwarethat is configured to access a service made available by a server. Theserver is often (but not always) on another computer system, in whichcase the client device accesses the service by way of a network. Clientdevices may include, without limitation, smart phones, tablet computers,laptop computers, wearables, personal computers, enterprise computers,and the like.

“Group-based” is used herein to refer to a system, channel, message, orvirtual environment that has security sufficient such that it isaccessible only to a defined group of users. The group may be defined bycommon access credentials such as those of an organization or commercialenterprise. Access may further be facilitated by a validated request tojoin or an invitation to join transmitted by one group member user toanother non-member user. Group identifiers (defined below) are used toassociate data, information, messages, etc., with specific groups.

As used herein, the term “group-based communication channel” refers to avirtual communications environment or feed that is configured to displaymessaging communications posted by channel members (e.g., validatedusers accessing the environment using client devices) that are viewableonly to the members of the group. The format of the group-basedcommunication channel may appear differently to different users of thegroup-based communication channel; however, the content of thegroup-based communication channel (i.e., messaging communications) willbe displayed to each member of the group-based communication channel.For instance, a common set of group-based messaging communications willbe displayed to each member of the respective group-based communicationchannel such that the content of the group-based communication channel(i.e., messaging communications) will not vary per member of thegroup-based communication channel.

The term “user” should be understood to refer to an individual, group ofindividuals, business, organization, and the like; the users referred toherein are accessing a group-based communication or messaging systemusing client devices.

The terms “group-based communication channel identifier” or “channelidentifier” refer to one or more items of data by which a group-basedcommunication channel may be identified. For example, a group-basedcommunication channel identifier may comprise ASCII text, a pointer, amemory address, and the like.

The terms “group identifier” or “team identifier” refer to one or moreitems of data by which a group within a group-based communication systemmay be identified. For example, a group identifier may comprise ASCIItext, a pointer, a memory address, and the like.

As used herein, the terms “messaging communication” and “message” referto any electronically generated digital content object provided by auser using a client device and that is configured for display within agroup-based communication channel. Message communications may includeany text, image, video, audio, or combination thereof provided by a user(using a client device). For instance, the user may provide a messagingcommunication that includes text as well as an image and a video withinthe messaging communication as message contents. In such a case, thetext, image, and video would comprise the messaging communication ordigital content object. Each message sent or posted to a group-basedcommunication channel of the group-based communication system includesmetadata comprising the following: a sending user identifier, a messageidentifier, message contents, a group identifier, and a group-basedcommunication channel identifier. Each of the foregoing identifiers maycomprise ASCII text, a pointer, a memory address, and the like.

A “sending user identifier” is associated with a collection of messagesthat are sent by a particular user (i.e., a client device associatedwith the particular user). These messages may be analyzed to determinecontext regarding the user (e.g., the user's expertise or interest in atopic may be determined based on the frequency of mention of the topicor key words associated with the topic within such messages).

Group-based communication system users are organized into organizationgroups (e.g., employees of each company may be a separate organizationgroup) and each organization group may have one or more group-basedcommunication channels (explained below) to which users may be assignedor which the users may join (e.g., group-based communication channelsmay represent departments, geographic locations such as offices, productlines, user interests, topics, issues, and/or the like). A groupidentifier may be used to facilitate access control for a message (e.g.,access to the message, such as having the message return as part ofsearch results in response to a search query, may be restricted to thoseusers having the group identifier associated with their user profile).The group identifier may be used to determine context for the message(e.g., a description of the group, such as the name of an organizationand/or a brief description of the organization, may be associated withthe group identifier).

Group-based communication system users may join group-basedcommunication channels. Some group-based communication channels may beglobally accessible to those users having a particular organizationalgroup identifier associated with their user profile (i.e., users who aremembers of the organization). Access to some group-based communicationchannels may be restricted to members of specified groups, whereby thegroup-based communication channels are accessible to those users havinga particular group identifier associated with their user profile. Thegroup-based communication channel identifier may be used to facilitateaccess control for a message (e.g., access to the message, such ashaving the message return as part of search results in response to asearch query, may be restricted to those users having the group-basedcommunication channel identifier associated with their user profile, orwho have the ability to join the group-based communication channel). Thegroup-based communication channel identifier may be used to determinecontext for the message (e.g., a description of the group-basedcommunication channel, such as a description of a project discussed inthe group-based communication channel, may be associated with thegroup-based communication channel identifier).

The term “private group-based communication channel” refers to agroup-based communication channel with restricted access such that it isnot generally accessible and/or searchable by other members of thegroup-based communication system. For example, only those users oradministrators who have knowledge of and permission to access (e.g., agroup-based communication channel identifier for the private group-basedcommunication channel is associated with their user profile after theuser has been validated/authenticated) the private group-basedcommunication channel may view content of the private group-basedcommunication channel.

A “receiver channel” refers to a group-based communication channel thatis linked to a graphical identifier. In response to the graphicalidentifier being associated with (e.g., tagged to) a selected messagingcommunication of a selected group-based communication channel, achanneled copy of the selected messaging communication is stored in thereceiver channel. Notably, the receiver channel is different from theselected group-based communication channel that originated the selectedmessaging communication and can be accessed separately from the selectedgroup-based communication channel (e.g., without first accessing theselected group-based communication channel).

As used herein, “channeled copy” refers to a copy or duplicate of amessaging communication that includes messaging communicationinformation and is stored for display within a receiver channel.“Messaging communication information” refers to any informationassociated with the messaging communication, such as information relatedto the user who created the messaging communication, the group-basedcommunication channel on which the messaging communication was firstprovided (e.g., the name of the group-based communication channel), thetime and date that the messaging communication was first provided,subsequent reproductions of the messaging communication (e.g., date,time, name of the receiver channel, etc. of such reproduction), and anyother identifying information related to the messaging communication.

As used herein, the term “graphical identifier” refers to any visualicon, avatar, image, video, photo, or graphic that may be used to label,tag, or otherwise distinguish a selected messaging communication. Insome embodiments, the graphical identifier may provide a visualillustration of a sentiment or emotion that a user may wish to associatewith a selected messaging communication. For instance, the graphicalidentifier may be an emoji or an emoticon or other similar expressivevisual identification means. In some embodiments, the graphicalidentifier may be animated, such as to illustrate movement between afirst state and a second state when displayed within the selectedgroup-based communication interface. For instance, the graphicalidentifier may be a series of images of a gavel that when run insequence illustrate the movement of a gavel knocking against a desk. Theanimated gavel may then be used in messaging communications that includefinal decisions as an indicator that such a decision was made.

As used herein, “channeling association” in the context of a graphicalidentifier and a receiver channel refers to the relationship orcorrelation of the graphical identifier to the receiver channel. A usercan establish a channeling association between a graphical identifierand a receiver channel, cancel a channeling association between agraphical identifier and a receiver channel, and re-establish achanneling association between a graphical identifier and a receiverchannel. When re-establishing a channeling association, the group-basedcommunication interface may only associate the respective graphicalidentifier with the applicable receiver channel for future correlationindications. The channeling association may be made using a variety ofuser commands such as that depicted below:

[/reacji-channeler:bulb: #ideas]. The channeling association of thegraphical identifier (e.g., the bulb) and the receiver channel (e.g.,the ideas channel) indicates that the user wants any messagingcommunication that includes the graphical identifier to appear in thereceiver channel. When establishing a channeling association, thegroup-based communication interface may only associate the respectivegraphical identifier with the applicable receiver channel for futurecorrelation indications.

As used herein, “correlation indication” refers to the instructions orsignals received that indicate the messaging communication has been tiedto a graphic identifier.

As used herein, “channeling request” refers to an instruction to accessa group-based communication channel, including a receiver channel. Thechanneling request may be initiated by a channel actuator, which a userof the group-based communication interface can actuate.

The terms “user profile,” “user account,” and “user account details”refer to information associated with a user, including, for example, auser identifier, one or more group-based communication channelidentifiers associated with group-based communication channels that theuser has been granted access to, one or more group identifiers forgroups with which the user is associated, an indication as to whetherthe user is an owner of any group-based communication channels, anindication as to whether the user has any group-based communicationchannel restrictions, a plurality of messages, a plurality of emojis, aplurality of conversations, a plurality of conversation topics, anavatar, an email address, a real name (e.g., John Doe), a username(e.g., jdoe), a password, a real name, a time zone, a status, and thelike. The user account details can include a subset designation of usercredentials, such as, for example, login information for the userincluding the user's username and password. For example, and withoutlimitation, a user identifier may include a unique graphical identifier(e.g., an avatar), an IP address, a MAC address, and the like.

Overview

Various embodiments of the invention are directed to updating a selectedgroup-based communication interface (e.g., an interface for Slack Corp.)in a group-based communication system from a plurality of group-basedcommunication interfaces (e.g., an interface for otherorganizations/companies). The selected group-based communicationinterface includes a plurality of group-based communication channels(e.g., a marketing channel, sales channel, accounting channel, etc.),including a receiver channel (e.g., a decisions channel, orthings-to-know channel). The selected group-based communicationinterface is accessible and viewable to a select group of users, such asa group of employees of a business or organization (e.g., the SlackCorp. interface would be accessible and viewable to the Slack team). Theselected group-based communication interface is updated per the actionsof the users of that group-based communication interface and is separateand distinct from other group-based communication interfaces.

Each of the plurality of group-based communication channels in theselected group-based communication interface includes one or moregroup-based messaging communications. The interface is configured toreceive channeling associations within the selected group-basedcommunication interface that associates select messaging communicationswith one or more receiver channels. The receiver channel is thenaccessible to a user of the group-based communication interface to viewa copy of each of the messaging communications tied to that receiverchannel. The original messaging communications remain in the respectivegroup-based communication channel. The selected group-basedcommunication interface thereby efficiently and effectively provides aninterface for group-based communications.

The selected group-based communication interface is configured to allowusers of the interface to communicate within group-based communicationchannels and across group-based communication channels to providerelevant information to other users efficiently and effectively.Group-based messaging communications across the plurality of group-basedcommunication channels can be channeled to specific receiver channelsproviding relevant information to users of the group-based communicationinterface without the users needing to be a user of each group-basedcommunication channel (or monitoring each group-based communicationchannel). This allows users of the group-based communication interfaceto spend less time searching for desired information and allows a userto quickly access relevant information, thereby increasing theefficiency and effectiveness of group-based messaging communications.With less searching and less monitoring of a wide range of group-basedcommunication channels by users, there will be less strain on the systemitself leading to increased lifetime and efficiency. For instance, withless monitoring of a wide range of group-based communication channels byusers, there will be a reduced number of notifications to users, reducednumber of “unread” group-based messaging communications, and thus,reduced strain on the system. The system will be more efficient andeffective at providing relevant information to users. The selectedgroup-based communication interface may be used as part of a standaloneservice, application, or device or it may be applied as a layer atop anexisting service application or device.

The selected group-based communication interface is configured todisplay one or more graphical identifiers. The graphical identifiers mayvisually represent one or more corresponding items or ideas and in someembodiments, may be animated and configured to show a reaction to amessaging communication. The selected group-based communicationinterface is configured to receive channeling association(s) that areconfigured to associate a graphical identifier with at least onereceiver channel. The selected group-based communication channels arethen configured to receive group-based messaging communications as wellas correlation indications configured to associate the graphicalidentifier with a selected messaging communication of the group-basedmessaging communications. In response to receiving the correlationindication, the selected group-based communication interface isconfigured to reproduce the selected messaging communication to create achanneled copy of the selected messaging communication within thereceiver channel and display the channeled copy with the receiverchannel.

As will be discussed in greater detail below, the selected group-basedcommunication interface is not limited to displaying group-basedmessaging communications and can also be configured to display a widevariety of messaging communications for any purpose that might be ofinterest to a user (e.g., direct messaging communications). The selectedgroup-based communication interface may be used to visualize any set ofgroup-based communication channels and messaging communications for anypurpose and it may be used in connection with numerous exemplary systemarchitectures as explained in further detail herein.

In some embodiments, the selected group-based communication interfacemay be configured to be used by a business, organization, team, or othergroup of individuals and may be tailored to suit the respective group'sinterests or specific data needs. One of ordinary skill in the art willappreciate that the concepts discussed herein may be applied to bettervisualize group-based messaging communications on a selected group-basedcommunication interface.

Exemplary Achitecture

Methods, apparatuses, and computer program products of the presentinvention may be embodied by any of a variety of devices. For example,the method, apparatus, and computer program product of an exampleembodiment may be embodied by a networked device (e.g., an enterpriseplatform), such as a server or other network entity, configured tocommunicate with one or more devices, such as one or more clientdevices. Additionally or alternatively, the computing device may includefixed computing devices, such as a personal computer or a computerworkstation. Still further, example embodiments may be embodied by anyof a variety of mobile devices, such as a portable digital assistant(PDA), mobile telephone, smartphone, laptop computer, tablet computer,wearable, or any combination of the aforementioned devices.

FIG. 1 shows system 100 including an example network architecture for asystem, which may include one or more devices and sub-systems that areconfigured to implement some embodiments discussed herein. For example,system 100 may include server 140, which can include, for example, thecircuitry disclosed in FIGS. 2-4, a server, or database, among otherthings (not shown). The server 140 may include any suitable networkserver and/or other type of processing device. In some embodiments, theserver 140 may determine and transmit commands and instructions forrendering one or more group-based communication channels to clientdevices 110A-110N using data from the messaging communications database300. The messaging communications database 300 may be embodied as a datastorage device such as a Network Attached Storage (NAS) device ordevices, or as a separate database server or servers. The messagingcommunications database 300 includes information accessed and stored bythe server 140 to facilitate the operations of the group-basedcommunication system 100. For example, the messaging communicationsdatabase 300 may include, without limitation, a plurality of messagingcommunications organized among a plurality of group-based communicationchannels, and/or the like.

Server 140 can communicate with one or more client devices 110A-110N viacommunications network 120. In this regard, network 120 may include anywired or wireless communication network including, for example, a wiredor wireless local area network (LAN), personal area network (PAN),metropolitan area network (MAN), wide area network (WAN), or the like,as well as any hardware, software and/or firmware required to implementit (such as, e.g., network routers, etc.). For example, communicationsnetwork 120 may include a cellular telephone, an 802.11, 802.16, 802.20,and/or WiMax network. Further, the communications network 120 mayinclude a public network, such as the Internet, a private network, suchas an intranet, or combinations thereof, and may utilize a variety ofnetworking protocols now available or later developed including, but notlimited to TCP/IP based networking protocols. For instance, thenetworking protocol may be customized to suit the needs of thegroup-based communication interface. In some embodiments, the protocolis a custom protocol of JSON objects sent via a Websocket channel. Insome embodiments, the protocol is JSON over RPC, JSON over REST/HTTP,and the like.

The server 140 may provide for receiving of electronic data from varioussources, including but not necessarily limited to the client devices110A-110N. For example, the server 140 may be operable to receive andpost or transmit group-based messaging communications provided by theclient devices 110A-110N.

Client devices 110A-110N and/or server 140 may each be implemented as apersonal computer and/or other networked device, such as a cellularphone, tablet computer, mobile device, point of sale terminal, inventorymanagement terminal etc., that may be used for any suitable purpose inaddition to presenting the interface to facilitate buying items and/oroffering items for sale. The depiction in FIG. 1 of “N” users is merelyfor illustration purposes. Any number of users may be included in thesystem 100 so long as the users have the proper credentials foraccessing the selected group-based communication interface. In oneembodiment, the client devices 110A-110N may be configured to display aninterface on a display of the client device for viewing, creating,editing, and/or otherwise interacting with at least one group-basedcommunication channel, which may be provided by the server 140.According to some embodiments, the server 140 may be configured todisplay the interface on a display of the server 140 for viewing,creating, editing, and/or otherwise interacting with a group-basedcommunication channel. In some embodiments, an interface of a clientdevice 110A-110N may be different from an interface of a server 140. Theclient devices 110A-110N may be used in addition to or instead of theserver 140. System 100 may also include additional client devices and/orservers, among other things. Additionally or alternatively, the clientdevice 110A-110N may interact with the group-based communication system100 via a web browser. As yet another example, the client device110A-110N may include various hardware or firmware designed to interfacewith the group-based communication system 100.

The client devices 110A-110N may be any computing device as definedabove. Electronic data received by the group-based communication server106 from the client devices 110A-110N may be provided in various formsand via various methods. For example, the client devices 110A-110N mayinclude desktop computers, laptop computers, smartphones, netbooks,tablet computers, wearables, and the like.

In embodiments where a client device 110A-110N is a mobile device, suchas a smart phone or tablet, the client device 110A-110N may execute an“app” to interact with the group-based communication system 100. Suchapps are typically designed to execute on mobile devices, such astablets or smartphones. For example, an app may be provided thatexecutes on mobile device operating systems such as iOS®, Android®, orWindows®. These platforms typically provide frameworks that allow appsto communicate with one another and with particular hardware andsoftware components of mobile devices. For example, the mobile operatingsystems named above each provide frameworks for interacting withlocation services circuitry, wired and wireless network interfaces, usercontacts, and other applications. Communication with hardware andsoftware modules executing outside of the app is typically provided viaapplication programming interfaces (APIs) provided by the mobile deviceoperating system.

Additionally or alternatively, the client device 110A-110N may interactwith the group-based communication system 100 via a web browser. As yetanother example, the client device 110A-110N may include varioushardware or firmware designed to interface with the group-basedcommunication system 100.

In some embodiments of an exemplary group-based communication system, amessage or messaging communication may be sent from a client device110A-110N to a server 140. In various implementations, the message maybe sent to the group-based communication system 100 over communicationsnetwork 120 directly by a client device 110A-110N, the message may besent to the group-based communication system 100 via an intermediarysuch as a message server, and/or the like. For example, the clientdevice 110A-110N may be a desktop, a laptop, a tablet, a smartphone,and/or the like that is executing a client application (e.g., agroup-based communication app). In one implementation, the message mayinclude data such as a message identifier, sending user identifier, agroup identifier, a group-based communication channel identifier,message contents (e.g., text, emojis, images, links), attachments (e.g.,files), message hierarchy data (e.g., the message may be a reply toanother message), third party metadata, and/or the like. In oneembodiment, the client device 110A-110N may provide the followingexample message, substantially in the form of a (Secure) HypertextTransfer Protocol (“HTTP(S)”) POST message including eXtensible MarkupLanguage (“XML”) formatted data, as provided below:

POST /authrequest.php HTTP/1.1 Host: www.server.com Content-Type:Application/XML Content-Length: 667 <?XML version = “1.0” encoding =“UTF-8”?> <auth_request> <timestamp>2020-12-31 23:59:59</timestamp><user_accounts_details> <user_account_credentials> <user_name>ID_user_1</user_name > <password>abc123</password> //OPTIONAL<cookie>cookieID</cookie> //OPTIONAL<digital_cert_link>www.mydigitalcertificate.com/JohnDoeDaDoeDoe@gmail.com/mycertifcate.dc</digital_cert_link> //OPTIONAL<digital_certificate>_DATA_</digital_certificate></user_account_credentials> </user_accounts_details> <client_details>//iOS Client with App and Webkit //it should be noted that althoughseveral client details //sections are provided to show example variantsof client //sources, further messages will include only on to save//space <client IP>10.0.0.123</client IP> <user_agent_string>Mozilla/5.0(iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML,like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53</user_agent_string><client_product_type>iPhone6,1 </client_product_type><client_serial_number>DNXXX1X1XXXX</client_serial_number><client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID><client_OS>iOS</client_OS> <client_OS_version>7.1.1 </client_OS_version><client_app_type>app with webkit</client_app_type><app_installed_flag>true</app_installed_flag> <app_name>Error! Referencesource not found..app</app_name> <app_version>1.0 </app_version><app_webkit_name>Mobile Safari</client_webkit_name><client_version>537.51.2</client_version> </client_details><client_details> //iOS Client with Webbrowser<client_IP>10.0.0.123</client_IP> <user_agent_string>Mozilla/5.0(iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML,like Gecko) Version/7.0 Mobile/11D201Safari/9537.53</user_agent_string ><client_product_type>iPhone6,1</client_product_type><client_serial_number>DNXXX1X1XXXX</client_serial_number><client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID><client_OS>iOS</client_OS> <client_OS version>7.1.1</client_OS_version>< client_app_type>web browser</client_app_type> <client_name>MobileSafari</client_name> <client_version>9537.53</client_version></client_details> <client_details> //Android Client with Webbrowser<client_IP> 10.0.0.123</client_IP> <user_agent_string>Mozilla/5.0(Linux; U; Android 4.0.4; en-us; Nexus S Build/IMM76D)AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 MobileSafari/534.30</user_agent_string> <client_product_type>NexusS</client_product_type><client_serial_number>YXXXXXXXXZ</client_serial_number><client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX</client_UDID><client_OS>Android</client_OS><client_OS_version>4.0.4</client_OS_version> <client_app_type>webbrowser</client_app_type> <client_name>Mobile Safari</client_name><client_version>534.30</client_version> </client_details><client_details>//Mac Desktop with Webbrowser<client_IP>10.0.0.123</client_IP> <user_agent_string>Mozilla/5.0(Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, likeGecko) Version/7.0.3 Safari/537.75.14</user_agent_string><client_product_type>MacPro5,1</client_product_type><client_serial_number>YXXXXXXXXZ </client_serial_number><client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXX</client_UDID><client_OS>Mac OS X</client_OS><client_OS_version>10.9.3</client_OS_version> <client_app_type>webbrowser</client_app_type > <client_name>Mobile Safari</client_name><client_version>537.75.14</client_version> </client_details> <message><message_identifier>ID_message_10</message_identifier><team_identifier>ID_team_1</team_identifier><channel_identifier>ID_channel_1</channel_identifier> <contents>That isan interesting invention. I have attached a copy our patentpolicy.</contents> <attachments>patent_policy.pdf</attachments></message> </auth_request>

The group-based communication system 100 comprises at least one server140 that may create a storage message based upon the received message tofacilitate message indexing and storage in a messaging communicationdatabase, as will be described further below. In one implementation, thestorage message may include data such as a message identifier, a groupidentifier, a group-based communication channel identifier, a sendinguser identifier, topics, responses, message contents, attachments,message hierarchy data, third party metadata, conversation primitivedata, and/or the like. For example, the server 140 may provide thefollowing example storage message, substantially in the form of aHTTP(S) POST message including XML-formatted data, as provided below:

POST/storage_message.php HTTP/1.1 Host: www.server.com Content-Type:Application/XML Content-Length: 667 <?XML version = “1.0” encoding =“UTF-8”?> <storage_message ><message_identifier>ID_message_10</message_identifier><team_identifier>ID_team_1</team_identifier><channel_identifier>ID_channel_1</channel_identifier><sending_user_identifier>ID_user_1</sending_user_identifier> <topics><topic>inventions</topic> <topic>patents</topic> <topic>policies</topic></topics> <responses> <response>liked by ID_user_2</response><response>starred by ID_user_3</response> </responses> <contents>That isan interesting invention. I have attached a copy our patentpolicy.</contents> <attachments>patent_policy.pdf</attachments><conversation_primitive> conversation includes messages: ID_message_8,ID_message_9, ID_message_10, ID_message_11, ID_message_12</conversation_primitive > </storage_message>

In embodiments, a group identifier as defined above may be associatedwith the message.

In embodiments, a group-based communication channel identifier asdefined above may be associated with the message.

In embodiments, a sending user identifier as defined above may beassociated with the message. In one implementation, the message may beparsed (e.g., using PHP commands) to determine a sending user identifierof the user who sent the message.

In embodiments, topics may be associated with the message. In oneimplementation, the message contents may be parsed (e.g., using PHPcommands) to determine topics discussed in the message. For example,hashtags in the message may indicate topics associated with the message.In another example, the message may be analyzed (e.g., by itself, withother messages in a conversation primitive) or parsed using a machinelearning technique, such as topic modeling, to determine topicsassociated with the message.

In embodiments, data indicating responses may be associated with themessage. For example, responses to the message by other users mayinclude reactions (e.g., selection of an emoji associated with themessage, selection of a “like” button associated with the message),clicking on a hyperlink embedded in the message, replying to the message(e.g., posting a message to the group-based communication channel inresponse to the message), downloading a file associated with themessage, sharing the message from one group-based communication channelto another group-based communication channel, pinning the message,starring the message, and/or the like. In one implementation, dataregarding responses to the message by other users may be included withthe message, and the message may be parsed (e.g., using PHP commands) todetermine the responses. In another implementation, data regardingresponses to the message may be retrieved from a database. For example,data regarding responses to the message may be retrieved via a MySQLdatabase command similar to the following:

SELECT messageResponses FROM MSM_Message WHERE messageID =ID_message_10.

For example, data regarding responses to the message may be used todetermine context for the message (e.g., a social score for the messagefrom the perspective of some user). In another example, data regardingresponses to the message may be analyzed to determine context regardingthe user (e.g., the user's expertise in a topic may be determined basedon the responses to the user's message regarding the topic).

In embodiments, attachments may be included with the message. If thereare attachments, files may be associated with the message. In oneimplementation, the message may be parsed (e.g., using PHP commands) todetermine file names of the attachments. For example, file contents maybe analyzed to determine context for the message (e.g., a patent policydocument may indicate that the message is associated with the topic“patents”).

In embodiments, third party metadata may be associated with the message.For example, third party metadata may provide additional contextregarding the message or the user that is specific to a company, group,group-based communication channel, and/or the like. In oneimplementation, the message may be parsed (e.g., using PHP commands) todetermine third party metadata. For example, third party metadata mayindicate whether the user who sent the message is an authorizedrepresentative of the group-based communication channel (e.g., anauthorized representative may be authorized by the company to respond toquestions in the group-based communication channel).

In embodiments, a conversation primitive may be associated with themessage. In one implementation, a conversation primitive is an elementused to analyze, index, store, and/or the like messages. For example,the message may be analyzed by itself, and may form its own conversationprimitive. In another example, the message may be analyzed along withother messages that make up a conversation, and the messages that makeup the conversation may form a conversation primitive. In oneimplementation, the conversation primitive may be determined as themessage, a specified number (e.g., two) of preceding messages and aspecified number (e.g., two) of following messages. In anotherimplementation, the conversation primitive may be determined based onanalysis of topics discussed in the message and other messages (e.g., inthe channel) and/or proximity (e.g., message send order proximity,message send time proximity) of these messages.

In embodiments, various metadata, determined as described above, and/orthe contents of the message may be used to index the message (e.g.,using the conversation primitive) to facilitate various facets ofsearching (i.e., search queries that return results from messagingcommunication database). In one implementation, a storage message may besent from group-based communication server 140 to facilitate indexing inthe messaging communication database. In another implementation,metadata associated with the message may be determined and the messagemay be indexed in the messaging communication database. In oneembodiment, the message may be indexed such that a company's or agroup's messages are indexed separately (e.g., in a separate indexassociated with the group and/or company that is not shared with othergroups and/or companies). In one implementation, messages may be indexedat a separate distributed database (e.g., to facilitate data isolationfor security purposes).

If there are attachments associated with the message, file contents ofthe associated files may be used to index such files in the messagingcommunication database to facilitate searching. In one embodiment, thefiles may be indexed such that a company's or a group's files areindexed at a separate distributed database.

FIG. 2 shows a schematic block diagram of circuitry 200, some or all ofwhich may be included in, for example, server 140 and/or client devices110A-110N. Any of the aforementioned systems or devices may include thecircuitry 200 and may be configured to, either independently or jointlywith other devices in a network 120 perform the functions of thecircuitry 200 described herein. As illustrated in FIG. 2, in accordancewith some example embodiments, circuitry 200 can includes various means,such as processor 210, memory 220, communications module 240, and/orinput/output module 250. In some embodiments, messaging communicationsdatabase 300 and/or a channeling system 400 may also or instead beincluded. As referred to herein, “module” includes hardware, softwareand/or firmware configured to perform one or more particular functions.In this regard, the means of circuitry 200 as described herein may beembodied as, for example, circuitry, hardware elements (e.g., a suitablyprogrammed processor, combinational logic circuit, and/or the like), acomputer program product comprising computer-readable programinstructions stored on a non-transitory computer-readable medium (e.g.,memory 220) that is executable by a suitably configured processingdevice (e.g., processor 210), or some combination thereof.

Processor 210 may, for example, be embodied as various means includingone or more microprocessors with accompanying digital signalprocessor(s), one or more processor(s) without an accompanying digitalsignal processor, one or more coprocessors, one or more multi-coreprocessors, one or more controllers, processing circuitry, one or morecomputers, various other processing elements including integratedcircuits such as, for example, an ASIC (application specific integratedcircuit) or FPGA (field programmable gate array), or some combinationthereof. Accordingly, although illustrated in FIG. 2 as a singleprocessor, in some embodiments processor 210 comprises a plurality ofprocessors. The plurality of processors may be embodied on a singlecomputing device or may be distributed across a plurality of computingdevices collectively configured to function as circuitry 200. Theplurality of processors may be in operative communication with eachother and may be collectively configured to perform one or morefunctionalities of circuitry 200 as described herein. In an exampleembodiment, processor 210 is configured to execute instructions storedin memory 220 or otherwise accessible to processor 210. Theseinstructions, when executed by processor 210, may cause circuitry 200 toperform one or more of the functionalities of circuitry 200 as describedherein.

Whether configured by hardware, firmware/software methods, or by acombination thereof, processor 210 may comprise an entity capable ofperforming operations according to embodiments of the present inventionwhile configured accordingly. Thus, for example, when processor 210 isembodied as an ASIC, FPGA or the like, processor 210 may comprisespecifically configured hardware for conducting one or more operationsdescribed herein. Alternatively, as another example, when processor 210is embodied as an executor of instructions, such as may be stored inmemory 220, the instructions may specifically configure processor 210 toperform one or more algorithms and operations described herein, such asthose discussed in connection with FIGS. 1-14.

Memory 220 may comprise, for example, volatile memory, non-volatilememory, or some combination thereof. Although illustrated in FIG. 2 as asingle memory, memory 220 may comprise a plurality of memory components.The plurality of memory components may be embodied on a single computingdevice or distributed across a plurality of computing devices. Invarious embodiments, memory 220 may comprise, for example, a hard disk,random access memory, cache memory, flash memory, a compact disc readonly memory (CD-ROM), digital versatile disc read only memory (DVD-ROM),an optical disc, circuitry configured to store information, or somecombination thereof. Memory 220 may be configured to store information,data (including item data and/or user account details), applications,instructions, or the like for enabling circuitry 200 to carry outvarious functions in accordance with example embodiments of the presentinvention. For example, in at least some embodiments, memory 220 isconfigured to buffer input data for processing by processor 210.Additionally or alternatively, in at least some embodiments, memory 220is configured to store program instructions for execution by processor210. Memory 220 may store information in the form of static and/ordynamic information. This stored information may be stored and/or usedby circuitry 200 during the course of performing its functionalities.

Communications module 240 may be embodied as any device or meansembodied in circuitry, hardware, a computer program product comprisingcomputer readable program instructions stored on a computer readablemedium (e.g., memory 220) and executed by a processing device (e.g.,processor 210), or a combination thereof that is configured to receiveand/or transmit data from/to another device and/or network, such as, forexample, a second circuitry 200 and/or the like. In some embodiments,communications module 240 (like other components discussed herein) canbe at least partially embodied as or otherwise controlled by processor210. In this regard, communications module 240 may be in communicationwith processor 210, such as via a bus. Communications module 240 mayinclude, for example, an antenna, a transmitter, a receiver, atransceiver, network interface card and/or supporting hardware and/orfirmware/software for enabling communications with another computingdevice. Communications module 240 may be configured to receive and/ortransmit any data that may be stored by memory 220 using any protocolthat may be used for communications between computing devices.Communications module 240 may additionally or alternatively be incommunication with the memory 220, input/output module 250 and/or anyother component of circuitry 200, such as via a bus.

Input/output module 250 may be in communication with processor 210 toreceive an indication of a user input and/or to provide an audible,visual, mechanical, or other output to a user (e.g., provider and/orconsumer). Some example visual outputs that may be provided to a user bycircuitry 200 are discussed in connection with FIGS. 1-14. As such,input/output module 250 may include support, for example, for akeyboard, a mouse, a joystick, a display, a touch screen display, amicrophone, a speaker, a RFID reader, barcode reader, biometric scanner,and/or other input/output mechanisms. In embodiments wherein circuitry200 is embodied as a server or database, aspects of input/output module250 may be reduced as compared to embodiments where circuitry 200 isimplemented as an end-user machine (e.g., consumer device and/orprovider device) or other type of device designed for complex userinteractions. In some embodiments (like other components discussedherein), input/output module 250 may even be eliminated from circuitry200. Alternatively, such as in embodiments wherein circuitry 200 isembodied as a server or database, at least some aspects of input/outputmodule 250 may be embodied on an apparatus used by a user that is incommunication with circuitry 200. Input/output module 250 may be incommunication with the memory 220, communications module 240, and/or anyother component(s), such as via a bus. One or more than one input/outputmodule and/or other component can be included in circuitry 200.

Messaging communications database 300 and channeling system 400 may alsoor instead be included and configured to perform the functionalitydiscussed herein related to generating and/or editing group-basedcommunication channels. In some embodiments, some or all of thefunctionality of generating and/or editing group-based communicationchannels may be performed by processor 210. In this regard, the exampleprocesses and algorithms discussed herein can be performed by at leastone processor 210, messaging communications database 300, and/orchanneling system 400. For example, non-transitory computer readablemedia can be configured to store firmware, one or more applicationprograms, and/or other software, which include instructions and othercomputer-readable program code portions that can be executed to controleach processor (e.g., processor 210, messaging communications database300, and/or channeling system 400) of the components of circuitry 200 toimplement various operations, including the examples shown above. Assuch, a series of computer-readable program code portions are embodiedin one or more computer program goods and can be used, with a computingdevice, server, and/or other programmable apparatus, to producemachine-implemented processes.

In some embodiments, a messaging communications database 300 may beprovided that includes communications data, user account details, and/oranalytical engine data. As shown in FIG. 3, in this embodiment,communications data 330 includes graphical identifiers data 331,group-based communication channels data 332, and/or channelingassociation data 333. For instance, channeling associations may bereceived by the system 200 and stored in the messaging communicationsdatabase 300 as channeling association data 333. Similarly, graphicalidentifiers may be stored in the messaging communications database 300as graphical identifiers data 331 and data relating to group-basedcommunication channels may be stored in the messaging communicationsdatabase 300 as group-based communication channels data 332. Useraccount details 320, in some embodiments, may include biographical dataand/or preference data associated with individual profiles or groupprofiles. Additionally or alternatively, the messaging communicationsdatabase 300 may include analytical engine data 310 which provides anyadditional information needed by the channeling system 400 in analyzingmessaging communications, indications, and requests and generatingand/or editing group-based communication channels.

For example, channeling system 400 can be configured to analyze multiplesets of data (e.g., including various combinations of graphicalidentifiers, group-based communication channels, channelingassociations, correlation indications, etc.), such as the data in themessaging communications database 300. In this way, channeling system400 may support multiple algorithms, including those discussed belowwith respect to graphical identifiers, group-based communicationchannels, channeling associations, etc., so that the selected algorithmmay be chosen at runtime. Further, the present configuration can enableflexibility in terms of configuring additional contexts.

In some embodiments, with reference to FIG. 4, the channeling system 400may include a context determination module 420, analytical engine 430,and communications interface 440, all of which may be in communicationwith the messaging communications database 300. The channeling system400 may receive one or more correlation indications as inputs 405, 410and may generate channeled copies in receiver channels in response. Thechanneling system 400 may receive one or more channeling requests asinputs 405, 410 and may generate the requested group-based communicationchannel in response. In some embodiments, the inputs 405, 410 mayinclude a request to cancel a channeling association, while in someembodiments the inputs 405, 410 may include a request to re-establish achanneling association (e.g., simply by creating a new channelingassociation). The channeling system 400 may use any of the algorithms orprocesses disclosed herein for receiving a correlation indication andgenerating a channeled copy of a respective messaging communication inresponse; receiving channeling requests and generating the requestedcommunication channel in response; receiving channeling associations andrequests to cancel channeling associations and generating the applicableresponse (e.g., storing the channeling associations or canceling storedchanneling associations in the messaging communications database 300).In some other embodiments, such as when the circuitry 200 is embodied ina server 140 and/or client devices 110A-110N, the channeling system 400may be located in another circuitry 200 or another device, such asanother server 140 and/or client devices 110A-110N.

The channeling system 400 can be configured to access data correspondingto one or more group-based communication channels, graphicalidentifiers, user profiles, group profiles, and channeling associations,and generate one or more channeled copies of selected group-basedmessaging communications.

With reference to FIG. 4, whether used locally or over a network, thechanneling system 400 may be used to generate one or more group-basedcommunication channels that may be established as a receiver channelthat is configured to receive channeled copies of selected group-basedmessaging communications. The system may receive a plurality of inputs405, 410 from the circuitry 200 and process the inputs within thechanneling system 400 to produce an output 450, which may include areceiver channel with one or more channeled copies. In some embodiments,the channeling system 400 may execute context determination module 420,process the data in an analytical engine 430, and output the results viathe communications interface 440. Each of these steps may pull data froma plurality of sources including the messaging communications database300.

When inputs 405, 410 are received by the channeling system 400, acontext determination using context determination module 420 may firstbe made. A context determination includes such information as useraccount details (e.g., what user profile is associated with the input405, 410), preference data of the group-based communication interface,and what request or indication was received as the input 405, 410. Theseinputs may give context to the channeling system's 400 analysis todetermine the output. For example, the context determination module 420may inform the channeling system 400 as to what messaging communicationinformation to include with the output communication channel and/ormessaging communication(s).

The channeling system 400 may then analyze the inputs 405, 410 using theanalytical engine 430. The analytical engine 430 draws information aboutthe graphical identifier and/or group-based communication channel (e.g.,the receiver channel and/or the group-based communication channel inwhich a request and/or indication was made) from the messagingcommunications database 300 and then, in light of the contextdetermination module's 420 determination, computes a group-basedcommunication channel (e.g., a receiver channel). The communicationsinterface 440 may then output 450 the applicable group-basedcommunication channel (e.g., including channeled copies if a receiverchannel) with the applicable messaging communication information. Insome embodiments, the analytical engine 430 may determine that achanneled copy of a selected group-based messaging communication hasalready been presented in the applicable receiver channel. In suchcases, the communications interface 440 may not output 450 anotherchanneled copy of the selected group-based messaging communication, andinstead, may output 450 the original channeled copy of the selectedgroup-based messaging communication. The analytical engine 430 maydetermine that a channeled copy of a selected group-based messagingcommunication has already been presented in an applicable receiverchannel by identifying a unique timestamp associated with the selectedgroup-based messaging communication.

In some embodiments, the channeling system 400 may verify the inputs405, 410. For instance, the channeling system 400 may verify that theinputs 405, 410 are from one or more components of the circuitry 200,for instance, by validating a shared secret. As noted above, thecomponents of the circuitry 200, including the various elements that maybe part of each component, may communicate via wired or wirelessconnections and may be physically separate. Thus, in some embodiments,it may be desired to verify that received inputs are part of theselected group-based communication interface.

As will be appreciated, any such computer program instructions and/orother type of code may be loaded onto a computer, processor or otherprogrammable apparatus's circuitry to produce a machine, such that thecomputer, processor other programmable circuitry that execute the codeon the machine create the means for implementing various functions,including those described herein.

It is also noted that all or some of the information presented by theexample displays discussed herein can be based on data that is received,generated and/or maintained by one or more components of a local ornetworked system and/or circuitry 200. In some embodiments, one or moreexternal systems (such as a remote cloud computing and/or data storagesystem) may also be leveraged to provide at least some of thefunctionality discussed herein.

As described above and as will be appreciated based on this disclosure,embodiments of the present invention may be configured as methods,personal computers, servers, mobile devices, backend network devices,and the like. Accordingly, embodiments may comprise various meansincluding entirely of hardware or any combination of software andhardware. Furthermore, embodiments may take the form of a computerprogram product on at least one non-transitory computer-readable storagemedium having computer-readable program instructions (e.g., computersoftware) embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized including non-transitory hard disks,CD-ROMs, flash memory, optical storage devices, or magnetic storagedevices.

Embodiments of the present invention have been described above withreference to block diagrams and flowchart illustrations of methods,apparatuses, systems and computer program goods. It will be understoodthat each block of the circuit diagrams and process flowcharts, andcombinations of blocks in the circuit diagrams and process flowcharts,respectively, can be implemented by various means including computerprogram instructions. These computer program instructions may be loadedonto a general purpose computer, special purpose computer, or otherprogrammable data processing apparatus, such as processor 210, messagingcommunications database 300, and/or channeling system 400 discussedabove with reference to FIG. 2, to produce a machine, such that thecomputer program product includes the instructions which execute on thecomputer or other programmable data processing apparatus create a meansfor implementing the functions specified in the flowchart block orblocks.

These computer program instructions may also be stored in acomputer-readable storage device (e.g., memory 220) that can direct acomputer or other programmable data processing apparatus to function ina particular manner, such that the instructions stored in thecomputer-readable storage device produce an article of manufactureincluding computer-readable instructions for implementing the functiondiscussed herein. The computer program instructions may also be loadedonto a computer or other programmable data processing apparatus to causea series of operational steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide steps for implementing the functions discussed herein.

Accordingly, blocks of the block diagrams and flowchart illustrationssupport combinations of means for performing the specified functions,combinations of steps for performing the specified functions and programinstruction means for performing the specified functions. It will alsobe understood that each block of the circuit diagrams and processflowcharts, and combinations of blocks in the circuit diagrams andprocess flowcharts, can be implemented by special purpose hardware-basedcomputer systems that perform the specified functions or steps, orcombinations of special purpose hardware and computer instructions.

Dynamic UI

FIG. 5 illustrates an example selected group-based communicationinterface 500 structured in accordance with various embodiments of theinvention. The depicted group-based communication interface 500 presentsgroup-based communication channel 501 including multiple group-basedmessaging communications 520A-520C. The group-based messagingcommunications 520A-520C are shown with text; however, in otherembodiments, the group-based messaging communications 520A-520C mayinclude some other means (e.g., picture, photo, symbol, QR code, IDnumber, etc.) to convey information. As shown in FIG. 5, in thisembodiment, messaging communication information 530A-530C is alsoincluded with each group-based messaging communication 520A-520C. Themessaging communication information 530A-530C includes a user identifierand time of receiving the group-based messaging communication. Themessaging communication information 530A-530C may include otheridentifying information instead or in addition to the data shown in FIG.5. The group-based communication channel 501 also shows the name 510 ofthe group-based communication channel 501 and may include otheridentifying information for the group-based communication channel 501(e.g., date of creation, time of last messaging communication, users ofgroup-based communication channel, etc.).

As shown in FIG. 5, group-based messaging communication 520C includes agraphical identifier 540. The graphical identifier 540 is shown as animage of a gavel, but can be any suitable image or visual objectincluding animated object. As also shown in FIG. 5, in this embodiment,a messaging communication input area 513 is provided in the group-basedcommunication channel 501 where users can input group-based messagingcommunications (such as 520A-520C). The group-based communicationinterface 500 includes a messaging actuator 515 (e.g., a button) thatthe user can select to enter the messaging communication in themessaging communication input area 513. The group-based communicationinterface 500 also includes a graphical identifier actuator 514. Thegraphical identifier actuator 514 allows a user to associate a graphicalidentifier (such as the graphical identifier 540) with a messagingcommunication. The messaging actuator 515 initiates transmission of themessaging communication with the graphical identifier, providing acorrelation indication to the circuitry 200 for processing. Eachtransmission of each graphical identifier initiates a correlationindication to the circuitry 200 for processing. The messagingcommunication with the graphical identifier is then displayed in thegroup-based communication channel 501 (as shown in group-based messagingcommunication 520C).

If the graphical identifier is associated with at least one receiverchannel through a channeling association, then, as shown in FIG. 6, themessaging communication with the graphical identifier may then bereproduced in the respective receiver channel. For instance, if thegroup-based communication interface 500 has received a channelingassociation configured to associate the graphical identifier 540 with areceiver channel, then the circuitry 200 will reproduce the messagingcommunication in the applicable receiver channel. If the group-basedcommunication interface 500 has not received a channeling associationconfigured to associate the graphical identifier 540 with a receiverchannel, then the circuitry 200 will not reproduce the messagingcommunication in the applicable receiver channel. The messagingcommunication will simply be displayed in the group-based communicationchannel in which it was received. In some embodiments, a singlegraphical identifier may be associated with more than one receiverchannel. A messaging communication including such graphical identifierwould then be reproduced in each receiver channel associated with thegraphical identifier. Accordingly, the selected group-basedcommunication interface can be adapted or modified to most efficientlyand effectively suit the needs of the select group. Channelingassociations received in other group-based communication interfaces haveno influence on the selected group-based communication interface.

FIG. 6 illustrates an example selected group-based communicationinterface 600 structured in accordance with various embodiments of theinvention, specifically including a receiver channel 601. The receiverchannel 601 includes multiple channeled copies 620A-620B of group-basedmessaging communications, each including messaging communicationinformation 630A-630B. The messaging communication information 630A-630Bincludes a user identifier, the time of receipt of the respectivegroup-based messaging communication, and the selected group-basedcommunication channel in which the respective group-based messagingcommunication was first received. The receiver channel 601 also showsthe name of the receiver channel 610 and may include other identifyinginformation for the receiver channel 601 (e.g., date of creation, timeof last messaging communication, users of communication channel, etc.).

In the embodiment illustrated in FIG. 6, the receiver channel 601 showsthe graphical identifier 640 associated with the channel. The graphicalidentifier 640 is shown as an image of a gavel, but can be any suitableimage or visual object including animated object. In the embodimentillustrated in FIG. 6, the selected group-based communication interface600 received a channeling association associating the graphicalidentifier 640 with the receiver channel 601 (“platform-decisions”).Thus, the group-based messaging communication 520C of FIG. 5 wasreproduced as a channeled copy 620A in the receiver channel 601associated with the graphical identifier 540 (640 in FIG. 6). Thechanneled copy 620B is a reproduction of a group-based messagingcommunication from another group-based communication channel(“app-directory”, which is not illustrated).

FIG. 7 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein. The method 700 illustrated inFIG. 7 includes receiving a channeling association that is configured toestablish a connection between a graphical identifier and a receiverchannel 702; receiving group-based messaging communications to one ormore of a plurality of group-based communication channels other than thereceiver channel 704; receiving a correlation indication associating thegraphical identifier with a selected messaging communication of thegroup-based messaging communications 706; and in response to receiving acorrelation indication associating the graphical identifier with aselected group-based messaging communication 706, reproducing theselected messaging communication to create a channeled copy within thereceiver channel 708. The method 700 further comprises displaying thechanneled copy with the receiver channel via the group-basedcommunication interface 710.

The selected group-based communication interface is configured to allowusers of the interface to communicate within group-based communicationchannels and across group-based communication channels to providerelevant information to other users efficiently and effectively. Thegroup-based communication interface is configured to allow a user tomove between group-based communication channels. For instance, a usercan search for specific group-based communication channels, highlightspecific group-based communication channels to receive notifications orupdates regarding messaging communications within the group-basedcommunication channel, create specific group-based communicationchannels, and create a channel actuator to access specific group-basedcommunication channels for easy access to the channels. As a group-basedcommunication channel, receiver channels can be accessed by thesemethods as well. For instance, a user can search for specific receiverchannels, highlight specific receiver channels to receive notificationsor updates regarding messaging communications within the channel, createspecific receiver channels, and create a channel actuator to accessspecific receiver channels for easy access to the channels. Thus, areceiver channel can be directly accessed by a user without first havingto access another group-based communication channel.

A user can further access a group-based communication channel from areceiver channel. For instance, FIG. 10 illustrates a flow diagram of anexample system in accordance with some embodiments discussed herein. Themethod 1000 is configured to allow a user to move from a receiverchannel to another group-based communication channel. The user isthereby able to view the receiver channel, with compiled channeledcopies, and then access the select group-based communication channelfrom which a specific channeled copy was made to gain additional contextor information regarding the specific channeled copy, if desired. Themethod 1000 includes receiving a channeling request that is configuredto move between one or more of the plurality of group-basedcommunication channels after displaying the channeled copy with thereceiver channel via the group-based communication interface 1002 anddisplaying one or more of the plurality of group-based communicationchannels via the group-based communication interface instead ofdisplaying the receiver channel 1004, specifically displaying thedesired group-based communication channel. The channeling request may beactuated by any suitable channel actuator (e.g., a button, switch, key,etc.) and initiates the channeling request to the circuitry 200 forprocessing. For instance, the channeling request may be actuated by auser selecting the name of the selected group-based communicationchannel shown as messaging communication information in the receiverchannel.

FIG. 8 illustrates an example selected group-based communicationinterface 800 structured in accordance with various embodiments of theinvention, specifically including a receiver channel 801. The receiverchannel 801 includes multiple channeled copies 820A-820B of group-basedmessaging communications, each including messaging communicationinformation 830A-830B. The messaging communication information 830A-830Bincludes a user identifier, the time and date of receipt of therespective group-based messaging communication, and the selectedgroup-based communication channel in which the respective group-basedmessaging communication was first received. The receiver channel 801also shows the name of the receiver channel 810 and may include otheridentifying information for the receiver channel 801 (e.g., date ofcreation, time of last messaging communication, users of communicationchannel, etc.).

In the embodiment illustrated in FIG. 8, the receiver channel 801 showsthe graphical identifier 840 associated with the channel. The graphicalidentifier 840 is shown as an image of a newspaper, but can be anysuitable image or visual object including animated object. In theembodiment illustrated in FIG. 8, the selected group-based communicationinterface 800 received a channeling association associating thegraphical identifier 840 with the receiver channel 801(“things-to-know”). Thus, the group-based messaging communicationincluding the graphical identifier 840 was reproduced as channeledcopies 820A, 840B in the receiver channel 801 associated with thegraphical identifier 840. FIG. 9 illustrates the group-basedcommunication interface in which channeled copy 820A was first received(“announcements”). The channeled copy 820B is a reproduction of agroup-based messaging communication from another group-basedcommunication channel (“learning-dev”, which is not illustrated).

As noted above, the receiver channel 801 of FIG. 8 includes messagingcommunication information 830A-830B with each respective channeled copy820A-820B. In the embodiment illustrated in FIG. 8, the names of theselected group-based communication channels in which the respectivegroup-based messaging communications were first received are included inthe messaging communication information 830A-830B and are channelactuators 831A, 831B for accessing the selected group-basedcommunication channels. A user may select the name of the selectedgroup-based communication channel, thereby initiating a channelingrequest to the circuitry 200 for processing. The circuitry 200 may theninitiate the generation and display of the selected group-basedcommunication channel on the group-based communication interface.

For instance, the channel actuator 831A may be selected, initiating achanneling request configured to view the group-based communicationchannel “announcements.” As shown in FIG. 9, the group-basedcommunication interface may then display the group-based communicationchannel “announcements.” The channel actuator 831B may instead beselected, initiating a channeling request configured to view thegroup-based communication channel “learning-dev.”

FIG. 9 illustrates an example selected group-based communicationinterface 900 structured in accordance with various embodiments of theinvention, specifically including a selected group-based communicationchannel 901. As noted above, FIG. 9 illustrates the group-basedcommunication channel (“announcements”) in which the group-basedmessaging communication 920A was first received and then reproduced inreceiver channel 801 as channeled copy 820A. A graphical identifier wasnot received in the group-based messaging communication 920B, and thus,the group-based messaging communication 920B is not reproduced as achanneled copy in a receiver channel.

The group-based communication channel 901 includes multiple group-basedmessaging communications 920A-920B, each including messagingcommunication information 930A-930B. The messaging communicationinformation 930A-930B includes a user identifier and the time and dateof receipt of the respective group-based messaging communication. Thegroup-based communication channel 901 also shows the name of the channel910 and may include other identifying information for the group-basedcommunication channel 901 (e.g., date of creation, time of lastmessaging communication, users of communication channel, etc.).

As shown in FIG. 9, group-based messaging communication 920A includes agraphical identifier 940. The graphical identifier 940 is shown as animage of a newspaper, but can be any suitable image or visual objectincluding animated object. As also shown in FIG. 9, in this embodiment,a messaging communication input area 913 is provided in the group-basedcommunication channel 901 where users can input group-based messagingcommunications (such as 920A-920B). The group-based communicationinterface 900 includes a messaging actuator 915 (e.g., a button) thatthe user can select to enter the messaging communication in themessaging communication input area 913. The group-based communicationinterface 900 also includes a graphical identifier actuator 914. Thegraphical identifier actuator 914 allows a user to associate a graphicalidentifier (such as the graphical identifier 940) with a messagingcommunication. The messaging actuator 915 initiates transmission of themessaging communication with the graphical identifier, providing acorrelation indication to the circuitry 200 for processing. Themessaging communication with the graphical identifier is then displayedin the group-based communication channel 901 (as shown in group-basedmessaging communication 920A).

In some embodiments, users of a group-based communication channel mayadd graphical identifiers to an already received messagingcommunication. The user may want to react to the messaging communicationusing a graphical identifier without adding additional content to themessaging communication. For instance, referring back to FIG. 5, thegroup-based communication channel 501 includes a reaction actuator 550that a user can select. The reaction actuator 550 initiates acorrelation indication similar to that which the graphical identifieractuator 514 initiates. The circuitry 200 processes the correlationindication to determine if the messaging communication (e.g.,group-based messaging communication 520C) has already been reproduced inthe respective receiver channel. If it has been reproduced (such asshown in FIG. 6 as channeled copy 620A), then an additional channeledcopy of the messaging communication (e.g., group-based messagingcommunication 520C) is not made. If the messaging communication has notbeen reproduced, then a channeled copy of the messaging communication ismade in the receiver channel. In the embodiment illustrated in FIG. 5,the reaction actuator 550 indicates that two correlation indicationshave been received with regards to the group-based messagingcommunication 520C. However, as shown in FIG. 6, the receiver channel601 only includes one channeled copy 620A of group-based messagingcommunication 520C. In addition, the messaging communication information630A is indicative of the original group-based messaging communication520C and not updated to show the receipt of the second correlationindication actuated by the reaction actuator 550.

FIG. 11 illustrates a flow diagram of an example system in accordancewith some embodiments discussed herein. In particular, FIG. 11illustrates a method of analyzing a receiver channel after receipt of acorrelation indication, such as a correlation indication of method 700of FIG. 7 or a correlation indication initiated in response to areaction actuator (e.g., 550 of FIG. 5). The method 1100 includesanalyzing the receiver channel of the plurality of group-basedcommunication channels for the channeled copy of the selected messagingcommunication within the receiver channel 1102 and reproducing theselected messaging communication to create the channeled copy within thereceiver channel if the channeled copy was not previously present in thereceiver channel 1104. The method 1100 may also include displaying thechanneled copy with the receiver channel via the group-basedcommunication interface 1106.

In some embodiments, more than one channeling association may bereceived. For instance, additional channeling associations may bereceived to more efficiently and effectively provide relevantinformation to other users across group-based communication channels.The additional channeling associations may be used to reproducemessaging communications to more than one receiver channel. Forinstance, a selected messaging communication can include more than onegraphical identifier (e.g., two or more different graphical identifiers)thereby associating the selected messaging communication to more thanone receiver channel. FIG. 12 illustrates a flow diagram of an examplesystem in accordance with some embodiments discussed herein. The method1200 includes receiving a second channeling association that isconfigured to establish a connection between a second graphicalidentifier and a second receiver channel 1202, receiving a secondcorrelation indication associating the second graphical identifier withthe selected messaging communication 1204, reproducing the selectedmessaging communication to create a second channeled copy within thesecond receiver channel 1206, and displaying the second channeled copyof the second selected messaging communication with the second receiverchannel via the group-based communication interface 1208.

Furthermore, a plurality of group-based messaging communications can bereceived in the plurality of group-based communication channels of theselect group-based communication interface. Each of the plurality ofgroup-based messaging communications can include graphical identifiersto associate the group-based messaging communications to a plurality ofreceiver channels. FIG. 13 illustrates a flow diagram of an examplesystem in accordance with some embodiments discussed herein. Inparticular, FIG. 13 illustrates a method 1300 involving the receipt of aplurality of group-based messaging communications and receiving aplurality of correlation indications associating a graphical identifierwith the plurality of group-based messaging communications. Each of thegroup-based messaging communications is reproduced as a channeled copyin the receiver channel associated with the graphical identifier. Themethod 1300 includes receiving a plurality of group-based messagingcommunications to one or more of the plurality of group-basedcommunication channels other than the receiver channel 1302 andreceiving a plurality of correlation indications associating thegraphical identifier with a plurality of selected messagingcommunications 1304. The method 1300 further includes reproducing eachof the plurality of selected messaging communications to create aplurality of channeled copies within the receiver channel 1306, anddisplaying the plurality of channeled copies with the receiver channelvia the group-based communication interface 1308.

In some embodiments, a plurality of channeling associations may bereceived in a select group-based communication interface. Group-basedmessaging communications across the plurality of group-basedcommunication channels can thereby be channeled to specific receiverchannels providing relevant information to users of the group-basedcommunication interface without the users needing to be a part of eachgroup-based communication channel. For instance, FIG. 14 illustrates aflow diagram of an example system in accordance with some embodimentsdiscussed herein. The method 1400 includes receiving a plurality ofchanneling associations that are configured to establish a plurality ofconnections, each of the plurality of connections comprising at leastone graphical identifier and at least one receiver channel 1402,receiving group-based messaging communications to one or more of theplurality of group-based communication channels other than the receiverchannels 1404, receiving one or more correlation indications associatingat least one of the graphical identifiers with at least one selectedmessaging communication 1406, and in response to receiving one or morecorrelation indications associating at least one of the graphicalidentifiers with at least one selected messaging communication,reproducing the at least one selected messaging communication associatedwith the at least one graphical identifier to create at least onechanneled copy within the at least one receiver 1408. The method 1400further includes displaying the at least one channeled copy with the atleast one receiver channel via the group-based communication interface1410.

Some embodiments of the present invention also use a second screen, asdiscussed herein. For instance, a first screen may be presented to afirst user while a second screen may be presented to a second user ofthe group-based communication interface. The format of a group-basedcommunication channel may appear differently to different users of thechannel; however, the content of the group-based communication channel(i.e., messaging communications) will be displayed to each user of thechannel. For instance, users or groups may have particular preferencefor layouts or text fonts. The particular preferences may be consideredwhen generating the group-based communication channels. The system mayutilize any number of screens necessary to present the group-basedcommunication interface in a meaningful way to each user of theinterface.

Many modifications and other embodiments of the inventions set forthherein will come to mind to one skilled in the art to which theseembodiments of the invention pertain having the benefit of the teachingspresented in the foregoing descriptions and the associated drawings.Therefore, it is to be understood that the embodiments of the inventionare not to be limited to the specific embodiments disclosed and thatmodifications and other embodiments are intended to be included withinthe scope of the appended claims. Although specific terms are employedherein, they are used in a generic and descriptive sense only and notfor purposes of limitation.

What is claimed is:
 1. An apparatus comprising at least a processor, and a memory associated with the processor having computer instructions therein, with the computer instructions configured to: establish an association between a graphical identifier and a first channel of a plurality of group-based communication channels; display a group-based messaging communication in a second group-based communication channel; receive a user input in the second group-based communication channel, wherein the user input comprises selecting the graphical identifier to associate the graphical identifier with the messaging communication; and in response to receiving the user input, display the messaging communication in the first channel.
 2. The apparatus of claim 1, wherein the graphical identifier is animated to illustrate movement between a first state and a second state through a series of images when rendered.
 3. The apparatus of claim 1, wherein the computer instructions are configured to, when executed by the processor, cause the apparatus to, prior to establishing the association between the graphical identifier and the first channel of the plurality of group-based communication channels, receive a second user input associating the graphical identifier with the messaging communication; and forego displaying the messaging communication in the first channel in response to receiving the second user input.
 4. The apparatus of claim 1, wherein the first channel is a first receiver channel and wherein the computer instructions are configured to, when executed by the processor, further cause the apparatus to: establish an association between a second graphical identifier and a second channel of the plurality of group-based communication channels; display a second group-based messaging communication in a third group-based communication channel; receive a user input in the third group-based communication channel to associate the second graphical identifier with the second messaging communication; and in response to receiving the user input in the third group-based communication channel, display the second messaging communication in the second channel.
 5. The apparatus of claim 1, wherein the computer instructions are configured to, when executed by the processor, further cause the apparatus to: analyze the first channel; and display the messaging communication if the messaging communication is not previously present in the first channel.
 6. The apparatus of claim 1, wherein the computer instructions are configured to, when executed by the processor, further cause the apparatus to: receive a plurality of group-based messaging communications to one or more of the plurality of group-based communication channels other than the first channel; receive a plurality of user inputs associating the graphical identifier with a plurality of selected messaging communications of the group-based messaging communications; in response to receiving the plurality of user inputs, display each of the plurality of selected messaging communications in the first channel.
 7. The apparatus of claim 1, wherein the computer instructions are configured to, when executed by the processor, further cause the apparatus to: analyze the first channel based at least in part on one or more of the graphical identifier, the second channel, and context determination associated with the messaging communication; and based on determining that the messaging communication is previously displayed within the first channel, forgo displaying another copy of the messaging communication in the first channel.
 8. A computer-implemented method comprising: establishing an association between a graphical identifier and a first channel of a plurality of group-based communication channels; displaying a group-based messaging communication in a second group-based communication channel; receiving a user input in the second group-based communication channel, wherein the user input comprises selecting the graphical identifier to associate the graphical identifier with the messaging communication; and in response to receiving the user input, display the messaging communication in the first channel.
 9. The method of claim 8, wherein the graphical identifier is animated to illustrate movement between a first state and a second state through a series of images when rendered.
 10. The method of claim 8, further comprising: prior to establishing the association between the graphical identifier and the first channel of the plurality of group-based communication channels, receiving a second user input associating the graphical identifier with the messaging communication; and foregoing displaying the messaging communication in the first channel in response to receiving the second user input.
 11. The method of claim 8, wherein the first channel is a first receiver channel, further comprising: establishing an association between a second graphical identifier and a second channel of the plurality of group-based communication channels; displaying a second group-based messaging communication in a third group-based communication channel; receiving a user input in the third group-based communication channel to associate the second graphical identifier with the second messaging communication; and in response to receiving the user input in the third group-based communication channel, displaying the second messaging communication in the second channel.
 12. The method of claim 8, further comprising: analyzing the first channel; and displaying the messaging communication if the messaging communication is not previously present in the first channel.
 13. The method of claim 8, further comprising: receiving a plurality of group-based messaging communications to one or more of the plurality of group-based communication channels other than the first channel; receiving a plurality of user inputs associating the graphical identifier with a plurality of selected messaging communications of the group-based messaging communications; in response to receiving the plurality of user inputs, displaying each of the plurality of selected messaging communications in the first channel.
 14. The method of claim 8, further comprising: analyzing the first channel based at least in part on one or more of the graphical identifier, the second channel, and context determination associated with the messaging communication; and based on determining that the messaging communication is previously displayed within the first channel, forgoing displaying another copy of the messaging communication in the first channel.
 15. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device having a display, cause the electronic device to: establish an association between a graphical identifier and a first channel of a plurality of group-based communication channels; display a group-based messaging communication in a second group-based communication channel; receive a user input in the second group-based communication channel, wherein the user input comprises selecting the graphical identifier to associate the graphical identifier with the messaging communication; and in response to receiving the user input, display the messaging communication in the first channel.
 16. The non-transitory computer-readable storage medium of claim 15, wherein the instructions are configured to, when executed by the one or more processors, cause the electronic device to, prior to establishing the association between the graphical identifier and the first channel of the plurality of group-based communication channels, receive a second user input associating the graphical identifier with the messaging communication; and forego displaying the messaging communication in the first channel in response to receiving the second user input.
 17. The non-transitory computer-readable storage medium of claim 15, wherein the instructions are configured to, when executed by the one or more processors, cause the electronic device to: establish an association between a second graphical identifier and a second channel of the plurality of group-based communication channels; display a second group-based messaging communication in a third group-based communication channel; receive a user input in the third group-based communication channel to associate the second graphical identifier with the second messaging communication; and in response to receiving the user input in the third group-based communication channel, display the second messaging communication in the second channel.
 18. The non-transitory computer-readable storage medium of claim 15, wherein the instructions are configured to, when executed by the one or more processors, cause the electronic device to: analyze the first channel; and display the messaging communication if the messaging communication is not previously present in the first channel.
 19. The non-transitory computer-readable storage medium of claim 15, wherein the instructions are configured to, when executed by the one or more processors, cause the electronic device to: receive a plurality of group-based messaging communications to one or more of the plurality of group-based communication channels other than the first channel; receive a plurality of user inputs associating the graphical identifier with a plurality of selected messaging communications of the group-based messaging communications; in response to receiving the plurality of user inputs, display each of the plurality of selected messaging communications in the first channel.
 20. The non-transitory computer-readable storage medium of claim 15, wherein the instructions are configured to, when executed by the one or more processors, cause the electronic device to: analyze the first channel based at least in part on one or more of the graphical identifier, the second channel, and context determination associated with the messaging communication; and based on determining that the messaging communication is previously displayed within the first channel, forgo displaying another copy of the messaging communication in the first channel. 